<template>
  <div>
    <!-- 推荐歌单 -->
    <div class="recom-song-list">
      <p class="title">推荐歌单</p>
      <div>
        <van-row gutter="5">
          <van-col span="8" v-for="obj in recommendSongList" :key="obj.id">
            <van-image style="width: 100%; height: 100%" fit="contain" :src="obj.picUrl" />
            <p class="song_name">{{ obj.name }}</p>
          </van-col>
        </van-row>
      </div>
    </div>
    <!-- 最新音乐 -->
    <div class="new-music">
      <p class="title">最新音乐</p>
      <van-cell v-for="item in newSongList" :key="item.id" :title="item.name" :label="`${item.song.artists[0].name}-${item.name}`" center>
        <!-- 使用 right-icon 插槽来自定义右侧图标 -->
        <template #right-icon>
          <van-icon @click="toPlay(item.id)" name="play-circle-o" size="22" />
        </template>
      </van-cell>
    </div>
  </div>
</template>

<script>
import { recommendSongListApi, newSongListApi } from '@/api/home'
export default {
  data() {
    return {
      // 推荐歌单
      recommendSongList: [],
      // 推荐新音乐
      newSongList: []
    }
  },
  created() {
    this.getRecommendSongList()
    this.getNewSongList()
  },
  methods: {
    // 获取推荐歌单列表
    async getRecommendSongList() {
      // 调api
      const { result } = await recommendSongListApi(6)
      this.recommendSongList = result
    },
    // 获取推荐新音乐
    async getNewSongList() {
      const { result } = await newSongListApi(20)
      this.newSongList = result
      // console.log(result)
    },
    // 去播放页
    toPlay(id) {
      this.$router.push(`/play?id=${id}`)
    }
  }
}
</script>

<style lang="scss" scoped>
/* 标题 */
.title {
  padding: 10px 8px;
  margin: 0 0 8px 0;
  background-color: #eee;
  color: #333;
  font-size: 15px;
  line-height: 30px;
  height: 30px;
}

/* 推荐歌单 - 歌名 */
.song_name {
  font-size: 12px;
  padding: 0 3px;
  margin-bottom: 10px;
  // 自动换行
  word-break: break-all;
  // 超过行数就使用...
  text-overflow: ellipsis;
  display: -webkit-box;
  /** 对象作为伸缩盒子模型显示 **/
  -webkit-box-orient: vertical;
  /** 设置或检索伸缩盒对象的子元素的排列方式 **/
  -webkit-line-clamp: 2;
  /** 显示的行数 **/
  overflow: hidden;
  /** 隐藏超出的内容 **/
}
.van-cell {
  border-bottom: 1px solid lightgray;
}
</style>